//
//  NetResponse.h
//  TestCpp
//
//  Created by Paladin on 13-3-11.
//
//

#ifndef __TestCpp__NetResponse__
#define __TestCpp__NetResponse__

#include "cocos2d.h"
#include "cocos-ext.h"
#include "json.h"
#include "PostData.h"

USING_NS_CC;
USING_NS_CC_EXT;
using namespace Json;

enum ResposeStatus
{
    respSucc = 200
};

class CNetResponse
{
public:
    // 处理请求响应的公共逻辑和错误处理
    int response(CCNode *sender/*__in__*/, void *data/*__in__*/);
    
    inline int getNetStatus()
    {
        return mHttpStatus;
    }
protected:
    
    // 解析Json串的结果
    Value root;
    
private:
    // 解析服务器的数据
    void parseJsonValue();
    
    void uncompress(void *data);
    
    void decryption(void *data);
  
private:
    // 服务器返回的状态码
    int mServerStatus;
    // 网络相应的状态码, 200即是成功响应了对应的请求
    int mHttpStatus;
    // 网络请求的响应数据
    CCHttpResponse *mResponseData;
    
};

#endif /* defined(__TestCpp__NetResponse__) */
